A logic analyzer is an electronic device that is capable of capturing and displaying signals of a digital system or digital circuit for purposes of debugging and/or verification. In the case of some programmable integrated circuits (ICs), the logic analyzer is included within the IC itself. The logic analyzer and a user circuit design, for example, are implemented within the IC using programmable circuitry. The logic analyzer is referred to as an “integrated logic analyzer” (ILA) since the logic analyzer is integrated with the user circuit design and implemented in the same IC as the user circuit design for purposes of debugging and/or verification.
To utilize an ILA, an ILA core is inserted into the user circuit design. Probe points within the user circuit design are specified by the user using an electronic design automation tool. The user circuit design is implemented with the probe points being routed to the ILA core. As such, signals of interest within the programmable IC, e.g., the probe points, are captured and stored by the ILA core for subsequent analysis.
Typically, the ILA core is implemented as a single, large, and complex circuit block where probed signals from throughout the user's circuit design are routed to this single ILA core. Implementation of the ILA core often requires a significant amount of circuit resources of the target IC. The size and complexity of the ILA core makes integrating the ILA core with a user circuit design difficult. In some cases, fitting the ILA core on the same IC as the user circuit design can be challenging. The ILA core and the user circuit design may not fit on the same IC. If successfully included in the user circuit design, the resulting quality of result from performing synthesis, placement, and routing may be reduced due to the size and complexity of the ILA core. In some cases, the ILA core itself becomes the source of timing critical signal paths, which has the undesirable effect of reducing the operating frequency of the user design.